package com.github.bridge.dto.esign;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Data
public class SignInfoBeanV2 {

    @Schema(description = "是否添加签署时间")
    private Boolean addSignTime;

    @Schema(description = "证书id")
    private String certId;

    @Schema(description = "骑缝章位置，1-无，2-上方，3-底部")
    private Integer edgePosition;

    @Schema(description = "骑缝章签署范围,0全部页，1奇数页，2偶数页，默认0")
    private Integer edgeScope;

    @Schema(description = "关键字 若signType为关键字签，则必填")
    private String key;

    @Schema(description = "指定签署第几个关键字,-1为最后一个,超过关键字总数选中最后一个；当关键字签传了posPage和keyIndex，表示在指定页里指定第几个关键字进行签署")
    private Integer keyIndex;

    @Schema(description = "签署页码;连续页码用'-'连接（如'1-3'），单独页码用','连接（如'1,3,5'）；signType=单页签/多页签/骑缝签时posPage必填，表示在指定页指定位置签署；signType=关键字签时posPage非必填，填写则表示在指定页定位关键字签署")
    private String posPage;

    @Schema(description = "x轴偏移量，正数向右偏移，负数向左偏移;单页签/多页签必填，以相对页左下角为原点进行偏移；骑缝签无视该参数；关键字签非必填，以关键字的左下角为原点进行偏移")
    private Float posX;

    @Schema(description = "y轴偏移量，正数向上偏移，负数向下偏移;单页签/多页签/骑缝签必填，以相对页左下角为原点进行偏移；关键字签非必填，以关键字的左下角为原点进行偏移")
    private Float posY;

    @Schema(description = "印章侧边二维码内容，如开启签署二维码，不指定则默认为签署记录页面URL")
    private String qrcodeContent;

    @Schema(description = "印章侧边是否展示二维码")
    private Boolean qrcodeSign;

    @Schema(description = "印章id")
    private String sealId;

    @Schema(description = "印章类型，0:手绘印章1,模板印章，多选用','隔开")
    private String sealType;

    @Schema(description = "签章日期信息")
    private List<SignTimeBean> signDateInfos;

    @Schema(description = "签署位置类型，PERSON-个人,ORGANIZE-企,LEGAL-法定代表人,NOLIMIT-不限制;多个用','隔开,默认NOLIMIT")
    private String signIdentity;

    @Schema(description = "签署类型；0-不限(需用户手动拖拽印章完成签署，自动签署不支持)、1-单页签、2-多页签、3-骑缝章、4关键字签", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer signType;

    @Schema(description = "签名域宽度，为空则取印章大小")
    private Float width;

}
